package com.gibs.peixunapi.service;

import com.gibs.peixunapi.VO.SubOptionVO;
import com.gibs.peixunapi.model.SubOption;
import com.gibs.peixunapi.model.SubjectHub;
import com.gibs.peixunapi.result.Result;

import javax.validation.Valid;
import java.util.List;

public interface SubOptionService {

    /**
     * 新增题目时新增选项,直接传递题目实体类,减少数据库I/O操作,用于subjectHubService调用
     * @param objectList 题目选项VO类集合
     * @param subjectHub 题目实体类
     * @return
     */
    Result create(List<SubOptionVO> objectList, SubjectHub subjectHub);

    /**
     * 新增题目时新增选项,并且绑定题目
     * @param objectList 题目选项VO类集合
     * @param subjectHubId 题目实体类
     * @return
     */
    Result create(List<SubOptionVO> objectList, Integer subjectHubId);
    /**
     * 批量保存选项
     * @param objectList 题目选项VO类集合
     * @return
     */
    Result save(List<SubOptionVO> objectList);


    /**
     * 删除单条选项
     * @param id 选项id
     * @return
     */
    Result delete(Integer id);

    Result get(Integer id);

    /**
     * 根据题目id来获取选项列表
     * @param subjectHubId 题目id
     * @return
     */
    Result getList(Integer subjectHubId);


    List<SubOptionVO> getSubOptions(Integer subjectHubId);
}

